package ua.net.gm.server.walker.dummy;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import ua.net.gm.server.walker.IWalker;
import ua.net.gm.server.walker.IWalkerMove;
import ua.net.gm.server.walker.IWalkerMovesFactory;
import ua.net.gm.server.walker.WalkerFreeze;
import ua.net.gm.server.walker.WalkerMoveDown;
import ua.net.gm.server.walker.WalkerMoveLeft;
import ua.net.gm.server.walker.WalkerMoveRight;
import ua.net.gm.server.walker.WalkerMoveUp;

/**
 *
 * @author Yason
 */
public class FreezeAndMovesFactory implements IWalkerMovesFactory
{
    private final List<IWalkerMove> moves;

    public FreezeAndMovesFactory()
    {
        moves = new ArrayList<>();
        moves.add(WalkerMoveDown.INSTANCE);
        moves.add(WalkerMoveUp.INSTANCE);
        moves.add(WalkerMoveLeft.INSTANCE);
        moves.add(WalkerMoveRight.INSTANCE);
        moves.add(WalkerFreeze.INSTANCE);
        Collections.unmodifiableList(moves);
    }
    
    @Override
    public List<IWalkerMove> createMoves(IWalker walker)
    {
        return moves;
    }
}
